<html>
<head><meta charset="utf-8"><title>meeting 2020.06.16 · wg-async-foundations · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/index.html">wg-async-foundations</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html">meeting 2020.06.16</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="201045001"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201045001" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201045001">(Jun 16 2020 at 17:00)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1172">@WG-async-foundations</span> meeting!</p>



<a name="201045170"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201045170" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201045170">(Jun 16 2020 at 17:02)</a>:</h4>
<p><a href="https://github.com/orgs/rust-lang/projects/2">Project board</a></p>



<a name="201045241"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201045241" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201045241">(Jun 16 2020 at 17:02)</a>:</h4>
<p>3 issues closed this week:</p>
<ul>
<li>ICE: src/librustc_typeck/check/generator_interior.rs:204: impossible case reached <a href="https://github.com/rust-lang/rust/issues/73050">#73050</a></li>
<li>Add a <code>MustUse</code> trait to complement <code>#[must_use]</code> <a href="https://github.com/rust-lang/rust/issues/71816">#71816</a></li>
<li>Improve error message for "return type cannot contain a projection or <code>Self</code>..." <a href="https://github.com/rust-lang/rust/issues/69276">#69276</a></li>
</ul>



<a name="201045320"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201045320" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201045320">(Jun 16 2020 at 17:03)</a>:</h4>
<p>Although <a href="https://github.com/rust-lang/rust/issues/71816">#71816</a> was more "withdrawn" than closed</p>



<a name="201045364"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201045364" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201045364">(Jun 16 2020 at 17:03)</a>:</h4>
<p>Oh, yes :)</p>



<a name="201045434"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201045434" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201045434">(Jun 16 2020 at 17:04)</a>:</h4>
<p>Not sure if we should leave it closed or not</p>



<a name="201045485"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201045485" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201045485">(Jun 16 2020 at 17:04)</a>:</h4>
<p>Anyone blocked or stuck on ongoing work?</p>



<a name="201045608"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201045608" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201045608">(Jun 16 2020 at 17:05)</a>:</h4>
<p>Not blocked exactly. <span class="user-mention" data-user-id="225192">@Nell Shamrell-Harrington</span> and I did some work towards <a href="https://github.com/rust-lang/rust/issues/66731">#66731</a></p>



<a name="201045627"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201045627" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mental <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201045627">(Jun 16 2020 at 17:05)</a>:</h4>
<p>Right now I'm doing something for chalk but I'd like to ask if there are any async-foundation related issues I could help with after</p>



<a name="201045636"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201045636" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201045636">(Jun 16 2020 at 17:05)</a>:</h4>
<p>I did a bit of investigation into <a href="https://github.com/rust-lang/rust/issues/71723">#71723</a> but haven't quite figured it out yet</p>



<a name="201045756"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201045756" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201045756">(Jun 16 2020 at 17:06)</a>:</h4>
<p>I think you mean a different issue than <a href="https://github.com/rust-lang/rust/issues/71721">#71721</a></p>



<a name="201045823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201045823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201045823">(Jun 16 2020 at 17:07)</a>:</h4>
<p>I made some progress on <a href="https://github.com/rust-lang/rust/issues/72247">#72247</a> but think it could use some LLVM expertise to continue</p>



<a name="201045909"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201045909" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201045909">(Jun 16 2020 at 17:08)</a>:</h4>
<p>seems unlikely that I'll be able to keep pushing that one forward right now</p>



<a name="201045963"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201045963" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201045963">(Jun 16 2020 at 17:09)</a>:</h4>
<p>Checking blocked issues</p>



<a name="201045976"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201045976" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201045976">(Jun 16 2020 at 17:09)</a>:</h4>
<h2>Async execution can get lost during refactoring <a href="https://github.com/rust-lang/rust/issues/71368">#71368</a></h2>



<a name="201046057"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046057" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046057">(Jun 16 2020 at 17:09)</a>:</h4>
<p>I think maybe this one was marked blocked on <a href="https://github.com/rust-lang/rust/issues/71816">#71816</a> which was closed?</p>



<a name="201046064"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046064" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046064">(Jun 16 2020 at 17:09)</a>:</h4>
<p>right</p>



<a name="201046167"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046167" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046167">(Jun 16 2020 at 17:10)</a>:</h4>
<p>but there's also <a href="https://github.com/rust-lang/rust/issues/67387">#67387</a></p>



<a name="201046186"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046186" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046186">(Jun 16 2020 at 17:10)</a>:</h4>
<p>yeah so</p>



<a name="201046199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046199">(Jun 16 2020 at 17:10)</a>:</h4>
<p>there are different ways to address the problem</p>



<a name="201046209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046209">(Jun 16 2020 at 17:10)</a>:</h4>
<p>certainly we could do a "small extension" to just a few specific types</p>



<a name="201046240"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046240" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046240">(Jun 16 2020 at 17:11)</a>:</h4>
<p>and then there are various more expansive possibilities</p>



<a name="201046248"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046248" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046248">(Jun 16 2020 at 17:11)</a>:</h4>
<p>I think my preference was to make a small extension to <code>Pin</code> and <code>Option</code>, personally</p>



<a name="201046308"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046308" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046308">(Jun 16 2020 at 17:11)</a>:</h4>
<p>it certainly seems 'harmless'</p>



<a name="201046379"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046379" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046379">(Jun 16 2020 at 17:12)</a>:</h4>
<p>and one could view the <code>MustUsed</code> trait that was proposed as an impl detail</p>



<a name="201046394"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046394" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046394">(Jun 16 2020 at 17:12)</a>:</h4>
<p>yeah</p>



<a name="201046428"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046428" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046428">(Jun 16 2020 at 17:12)</a>:</h4>
<p>anyway I would favor a limited move to extend to <code>PIn</code> and <code>Option</code> in whatever way</p>



<a name="201046440"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046440" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046440">(Jun 16 2020 at 17:12)</a>:</h4>
<p>and <span class="user-mention" data-user-id="310140">@mental</span> that might be an issue you could pick up if desired:)</p>



<a name="201046474"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046474" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046474">(Jun 16 2020 at 17:13)</a>:</h4>
<p>I'm going to move this issue back to On Deck</p>



<a name="201046502"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046502" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mental <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046502">(Jun 16 2020 at 17:13)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> <a href="https://github.com/rust-lang/rust/issues/67387">#67387</a>?</p>



<a name="201046603"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046603" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046603">(Jun 16 2020 at 17:14)</a>:</h4>
<p>I wonder if we want a "meta-issue"</p>



<a name="201046617"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046617" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046617">(Jun 16 2020 at 17:14)</a>:</h4>
<p>yeah, <span class="user-mention" data-user-id="310140">@mental</span> that one and <a href="https://github.com/rust-lang/rust/issues/71368">#71368</a> track very similar issues, which we might want to tackle together</p>



<a name="201046620"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046620" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046620">(Jun 16 2020 at 17:14)</a>:</h4>
<p>to cover both the <code>Pin</code> and <code>Option</code> cases</p>



<a name="201046678"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046678" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046678">(Jun 16 2020 at 17:14)</a>:</h4>
<p>I can make one</p>



<a name="201046790"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046790" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mental <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046790">(Jun 16 2020 at 17:15)</a>:</h4>
<p>Ah right, cheers! I'll keep an eye out.<br>
out of curiosity, would the strategy for those be merging on after another or rolling them up together in a third separate PR then?</p>



<a name="201046924"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046924" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046924">(Jun 16 2020 at 17:16)</a>:</h4>
<p>probably just making one PR to address both cases at once</p>



<a name="201046959"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046959" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046959">(Jun 16 2020 at 17:17)</a>:</h4>
<p>it's a bit unclear what the best impl strategy is</p>



<a name="201046963"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201046963" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201046963">(Jun 16 2020 at 17:17)</a>:</h4>
<p>Extend <code>#[must_use]</code> to more types <a href="https://github.com/rust-lang/rust/issues/73417">#73417</a></p>



<a name="201047077"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047077" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047077">(Jun 16 2020 at 17:18)</a>:</h4>
<p>Okay, let's take a look at new issues</p>



<a name="201047100"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047100" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047100">(Jun 16 2020 at 17:18)</a>:</h4>
<p><a href="https://github.com/search?q=org%3Arust-lang+is%3Aissue+label%3AA-async-await+is%3Aopen+-label%3AAsyncAwait-Triaged&amp;type=Issues">New issues</a></p>



<a name="201047124"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047124" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047124">(Jun 16 2020 at 17:18)</a>:</h4>
<h2>Clarify the behavior of std::task::Waker and Future::Poll <a href="https://github.com/rust-lang/rust/issues/73002">#73002</a></h2>



<a name="201047275"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047275" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047275">(Jun 16 2020 at 17:20)</a>:</h4>
<p>maybe this is something we can do in the async book</p>



<a name="201047349"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047349" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047349">(Jun 16 2020 at 17:20)</a>:</h4>
<p>yeah, possibly. I'm finding that issue a bit hard to follow.</p>



<a name="201047351"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047351" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047351">(Jun 16 2020 at 17:20)</a>:</h4>
<p>or in the API docs</p>



<a name="201047354"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047354" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nell Shamrell-Harrington <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047354">(Jun 16 2020 at 17:21)</a>:</h4>
<p>that's a good idea!</p>



<a name="201047400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047400">(Jun 16 2020 at 17:21)</a>:</h4>
<p>yeah.. it's kind of hard to know if we've addressed it or not</p>



<a name="201047431"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047431" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Yoshua Wuyts <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047431">(Jun 16 2020 at 17:21)</a>:</h4>
<p>I'm wondering if the quote from the docs is correct?</p>



<a name="201047433"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047433" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Yoshua Wuyts <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047433">(Jun 16 2020 at 17:21)</a>:</h4>
<blockquote>
<p>Note that on multiple calls to poll, only the Waker from the Context passed to the most recent call should be scheduled to receive a wakeup.</p>
</blockquote>



<a name="201047536"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047536" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047536">(Jun 16 2020 at 17:22)</a>:</h4>
<p>I think so?</p>



<a name="201047551"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047551" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047551">(Jun 16 2020 at 17:22)</a>:</h4>
<p>The idea as I understand it is that you don't have to keep around all the wakers</p>



<a name="201047577"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047577" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047577">(Jun 16 2020 at 17:22)</a>:</h4>
<p>I think that's right. In particular, when <code>Poll::Pending</code> is returned, the contract is that whatever Waker was passed in to _that_ call was scheduled to be woken up.</p>



<a name="201047633"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047633" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047633">(Jun 16 2020 at 17:23)</a>:</h4>
<p>that's a better way to phrase it, I think</p>



<a name="201047673"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047673" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047673">(Jun 16 2020 at 17:23)</a>:</h4>
<p>anyway, I'm not quite sure what to do with this issue :)</p>



<a name="201047677"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047677" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047677">(Jun 16 2020 at 17:23)</a>:</h4>
<p>given that the fn is <code>&amp;mut self</code>, there is really only one call at a time to any given future</p>



<a name="201047810"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047810" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Yoshua Wuyts <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047810">(Jun 16 2020 at 17:24)</a>:</h4>
<p>I guess where I'm coming from is that the way it reads it seems to describe behavior of the executor -- and b/c Rust doesn't ship with one it's not quite a guarantee but more of a recommendation of how things ought to be.</p>



<a name="201047818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Yoshua Wuyts <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047818">(Jun 16 2020 at 17:24)</a>:</h4>
<p>(I may be straying a bit with my train of thought here tho)</p>



<a name="201047861"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047861" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047861">(Jun 16 2020 at 17:24)</a>:</h4>
<p>I'm going to mark "triaged", but if anyone wants to dig in with the poster to how we can improve the documentation please feel free</p>



<a name="201047891"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047891" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047891">(Jun 16 2020 at 17:25)</a>:</h4>
<h2>Indexing via <code>index</code> method and <code>[idx]</code> sugar works differently in <code>async</code> blocks/functions <a href="https://github.com/rust-lang/rust/issues/72956">#72956</a></h2>



<a name="201047963"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201047963" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201047963">(Jun 16 2020 at 17:25)</a>:</h4>
<p>I suspect this is a "duplicate" of "imprecision in terms of what is live across an await"</p>



<a name="201048053"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048053" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048053">(Jun 16 2020 at 17:26)</a>:</h4>
<p>we have a kind of "representative" issue for that somewhere, although I feel like it has some kind of random name</p>



<a name="201048114"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048114" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048114">(Jun 16 2020 at 17:26)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/issues/69663">#69663</a>, I think</p>



<a name="201048122"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048122" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048122">(Jun 16 2020 at 17:26)</a>:</h4>
<p>that said, I don't know for sure</p>



<a name="201048141"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048141" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048141">(Jun 16 2020 at 17:27)</a>:</h4>
<p>oh, that's a good name</p>



<a name="201048283"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048283" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048283">(Jun 16 2020 at 17:28)</a>:</h4>
<p>yeah, I think you're right that this is an instance of that issue</p>



<a name="201048293"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048293" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048293">(Jun 16 2020 at 17:28)</a>:</h4>
<p>added this one as an example</p>



<a name="201048327"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048327" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048327">(Jun 16 2020 at 17:28)</a>:</h4>
<p>I'm sure it is -- I still wonder if we could make some progress there by improving the approximation</p>



<a name="201048340"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048340" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048340">(Jun 16 2020 at 17:28)</a>:</h4>
<p>but it might relate specifically to how we handle indexing in the HIR</p>



<a name="201048343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048343">(Jun 16 2020 at 17:28)</a>:</h4>
<p>rather than the "perfect" fix of somehow getting precise results from MIR</p>



<a name="201048348"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048348" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048348">(Jun 16 2020 at 17:28)</a>:</h4>
<p>right, exactly</p>



<a name="201048370"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048370" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048370">(Jun 16 2020 at 17:28)</a>:</h4>
<p>I feel like we've not explored the "incremental improvement" path as much as we ought to</p>



<a name="201048384"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048384" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048384">(Jun 16 2020 at 17:29)</a>:</h4>
<p>that's fair</p>



<a name="201048452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048452">(Jun 16 2020 at 17:29)</a>:</h4>
<p>I could see this being added as On Deck since it seems like it might be fairly easy to fix</p>



<a name="201048484"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048484" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048484">(Jun 16 2020 at 17:30)</a>:</h4>
<p>but it's also not <em>super</em> high priority unless other people are hitting it</p>



<a name="201048599"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048599" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048599">(Jun 16 2020 at 17:30)</a>:</h4>
<p>I'll claim it as a possible mentor issue</p>



<a name="201048617"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048617" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048617">(Jun 16 2020 at 17:30)</a>:</h4>
<p>since it seems like it might lend itself to that</p>



<a name="201048649"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048649" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048649">(Jun 16 2020 at 17:30)</a>:</h4>
<p>"this" here is <em>this particular instance</em></p>



<a name="201048656"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048656" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048656">(Jun 16 2020 at 17:30)</a>:</h4>
<p>not the more general issue I guess?</p>



<a name="201048670"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048670" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048670">(Jun 16 2020 at 17:31)</a>:</h4>
<p>yes</p>



<a name="201048692"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048692" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048692">(Jun 16 2020 at 17:31)</a>:</h4>
<p>I'm in favor of starting with this one, it may also suggest to you ways to improve the more general case</p>



<a name="201048703"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048703" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048703">(Jun 16 2020 at 17:31)</a>:</h4>
<p>right. sounds good</p>



<a name="201048712"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048712" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048712">(Jun 16 2020 at 17:31)</a>:</h4>
<p>I can't remember now but I feel like the last time I looked at it, I had the sense that there was a lot of room to do better</p>



<a name="201048773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048773">(Jun 16 2020 at 17:31)</a>:</h4>
<p>last new issue</p>



<a name="201048781"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048781" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048781">(Jun 16 2020 at 17:31)</a>:</h4>
<h2>lifecycle infer wrong <a href="https://github.com/rust-lang/rust/issues/69367">#69367</a></h2>



<a name="201048880"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048880" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> csmoe <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048880">(Jun 16 2020 at 17:32)</a>:</h4>
<p>Seems not an async issue?</p>



<a name="201048995"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201048995" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201048995">(Jun 16 2020 at 17:33)</a>:</h4>
<p>it might be possible to reproduce outside of an async fn</p>



<a name="201049002"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049002" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049002">(Jun 16 2020 at 17:33)</a>:</h4>
<p>not sure yet</p>



<a name="201049098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049098">(Jun 16 2020 at 17:34)</a>:</h4>
<p>yeah, seems likely</p>



<a name="201049132"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049132" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049132">(Jun 16 2020 at 17:35)</a>:</h4>
<p>might be</p>



<a name="201049185"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049185" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049185">(Jun 16 2020 at 17:35)</a>:</h4>
<p>yeah, confirmed</p>



<a name="201049288"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049288" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049288">(Jun 16 2020 at 17:36)</a>:</h4>
<p>but wait</p>



<a name="201049306"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049306" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049306">(Jun 16 2020 at 17:36)</a>:</h4>
<div class="codehilite"><pre><span></span><code><span class="w">    </span><span class="k">async</span><span class="w"> </span><span class="k">fn</span> <span class="nf">try_set_lock1</span><span class="p">(</span><span class="o">&amp;</span><span class="bp">self</span><span class="p">)</span><span class="w"> </span>-&gt; <span class="nb">Result</span><span class="o">&lt;</span><span class="p">(),</span><span class="w"> </span><span class="kt">u32</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="kd">let</span><span class="w"> </span><span class="n">guard</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="bp">self</span><span class="p">.</span><span class="mf">0.</span><span class="n">read</span><span class="p">().</span><span class="k">await</span><span class="p">;</span><span class="w"></span>
<span class="w">        </span><span class="kd">let</span><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nb">Ok</span><span class="p">(</span><span class="n">_</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">guard</span><span class="p">.</span><span class="n">file_handle</span><span class="p">.</span><span class="n">try_lock</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">            </span><span class="nb">Ok</span><span class="p">(())</span><span class="w"></span>
<span class="w">        </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">            </span><span class="nb">Err</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="w"></span>
<span class="w">        </span><span class="p">};</span><span class="w"></span>
<span class="w">        </span><span class="n">ret</span><span class="w"></span>
<span class="w">    </span><span class="p">}</span><span class="w"></span>
</code></pre></div>



<a name="201049315"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049315" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049315">(Jun 16 2020 at 17:36)</a>:</h4>
<p>this function does not error</p>



<a name="201049336"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049336" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049336">(Jun 16 2020 at 17:36)</a>:</h4>
<p>is the point that <code>try_set_lock0</code> errors?</p>



<a name="201049349"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049349" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049349">(Jun 16 2020 at 17:36)</a>:</h4>
<p>yes, the same happens in this <a href="https://play.rust-lang.org/?version=stable&amp;mode=debug&amp;edition=2018&amp;gist=efbf3a046a8d1801cc3559ba28331368">non-async version</a></p>



<a name="201049352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049352">(Jun 16 2020 at 17:36)</a>:</h4>
<p>if so, that's not wrong, just .. surprising</p>



<a name="201049392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049392">(Jun 16 2020 at 17:37)</a>:</h4>
<p>I wonder if I can find the issue but</p>



<a name="201049406"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049406" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049406">(Jun 16 2020 at 17:37)</a>:</h4>
<p>it comes down to the rule that says that temporaries created in the tail expression of a block</p>



<a name="201049419"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049419" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049419">(Jun 16 2020 at 17:37)</a>:</h4>
<p>are freed in the enclosing scope</p>



<a name="201049441"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049441" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049441">(Jun 16 2020 at 17:37)</a>:</h4>
<p>(a rule I've debated trying to change in a Rust 2021 edition, but I don't know how easy/hard it would be to do)</p>



<a name="201049500"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049500" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049500">(Jun 16 2020 at 17:38)</a>:</h4>
<p>ah yeah, that'll do it</p>



<a name="201049567"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049567" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049567">(Jun 16 2020 at 17:38)</a>:</h4>
<p>I felt like we had an issue for this</p>



<a name="201049572"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049572" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049572">(Jun 16 2020 at 17:38)</a>:</h4>
<p>but maybe it got closed</p>



<a name="201049597"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049597" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> csmoe <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049597">(Jun 16 2020 at 17:39)</a>:</h4>
<p>It's a bit annoying to move things to a let statement</p>



<a name="201049617"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049617" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049617">(Jun 16 2020 at 17:39)</a>:</h4>
<p>oh also <span class="user-mention" data-user-id="116883">@tmandry</span> I came across this <a href="https://github.com/rust-lang/rust/issues/30127">https://github.com/rust-lang/rust/issues/30127</a></p>



<a name="201049639"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049639" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049639">(Jun 16 2020 at 17:39)</a>:</h4>
<p>I wonder if that's related to the other issue</p>



<a name="201049756"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201049756" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201049756">(Jun 16 2020 at 17:40)</a>:</h4>
<p>oh, interesting</p>



<a name="201050201"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201050201" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201050201">(Jun 16 2020 at 17:44)</a>:</h4>
<p>Linked to it to investigate later. thanks</p>



<a name="201050218"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201050218" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201050218">(Jun 16 2020 at 17:44)</a>:</h4>
<p>I'm also commenting on <a href="https://github.com/rust-lang/rust/issues/69367">#69367</a> with what you said</p>



<a name="201050697"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201050697" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201050697">(Jun 16 2020 at 17:49)</a>:</h4>
<p>I've let the meeting go way past time already, but anyway, thanks again to everyone who came <span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="201072645"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202020.06.16/near/201072645" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthias247 <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16.html#201072645">(Jun 16 2020 at 20:54)</a>:</h4>
<p><span class="user-mention silent" data-user-id="211722">Yoshua Wuyts</span> <a href="#narrow/stream/187312-wg-async-foundations/topic/meeting.202020.2E06.2E16/near/201047810">said</a>:</p>
<blockquote>
<p>I guess where I'm coming from is that the way it reads it seems to describe behavior of the executor -- and b/c Rust doesn't ship with one it's not quite a guarantee but more of a recommendation of how things ought to be.</p>
</blockquote>
<p>It's not executor related - it's just the general contract of <code>Future</code>s to store and care about the latest <code>Waker</code>. I'm not the biggest fan of it, since it requires a bunch of expensive work whenever someone polls again to update the Waker (and <code>Waker::will_wake</code> is unfortuantely kind of broken). </p>
<p>You will need the functionality mostly if you move futures between tasks while they haven't returned ready yet. For all other use-cases I haven't seen any executor updating the <code>Waker</code> they pass to <code>Future</code>s, so reusing them would have been fine.</p>
<p>I think in a hypothetical <code>Future</code>s 2.0 one could require Futures  to be<code>!Send</code> and require that executors always pass the same <code>Waker</code>. but for compatibility purposes we can't change the current system.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>